from risk_evaluation_alogrithm_step1_get_3_weights import get3weight
from risk_evaluation_alogrithm_step2_get_weights_through_DE_algorithm import getweight
from risk_evaluation_alogrithm_step3_get_risk_value import getrisk
from AHC_RBF_alogrithm import AHCRBF
from bucket_sort_FP_growth_algorithm import mainrule
import numpy as np
from plot import plot


# 第一：基于差分进化算法的食品安全风险综合评价方法:
# step1: 获取三种方法获得的指标权值
w3 = get3weight('输入.xlsx')
# print(w3)

# step2: 由差分进化算法获得指标的综合权值，best_y取最小的时候,best_x前7个数为权值
np.around(w3, decimals=4)
t = getweight(w3)
# print('best_x:', t[0:10], '\n', 'best_y:', t[10])

# step3: 计算风险综合值同时将其保存到目标文件,w为上步得到的权值
w = np.array([0.1622, 0.1602, 0.0379, 0.1323, 0.3334, 0.0745, 0.0995])
r = getrisk('输入.xlsx', w, '风险综合评价结果.xlsx')
# print(r)


# 第二：基于AHC-RBF神经网络的食品安全预警方法
eva = AHCRBF('神经网络输入.xlsx', 297, 'AHC-RBF预测结果.xlsx')
print('AHC-RBF模型评估结果：')
print('平均相对泛化误差:', eva[0])
print('均方根误差:', eva[1])
plot()

# 第三：基于桶排序-FP growth算法的预警信息挖掘方法研究
print('\n')
mainrule()